package com.sicheng.lc.lc笔试.阿里篇;

import java.util.Scanner;

/**
 * @author zsc
 * @version 1.0
 * @date 2022/4/26 15:08
 */
public class 四子棋 {
    /**
     * 小红的四子棋
     * 小红和小紫正在下一个名字叫"四子棋"的游戏。游戏的规则如下：
     * 棋盘是一个n行m列的矩阵，两人轮流下子。如果有一方出现横、竖或者斜对角线方向有4个或4个以上的相同颜色的连珠，则获得游戏胜利。
     * <p>
     * 小红拿到了棋局的终盘，她想知道是谁获得了胜利。
     * <p>
     * 输入描述：
     * 第一行输入两个正整数n和m,用空格隔开。
     * 接下来的n行，每行输入一个长度为m的字符串，字符串仅由'r'、'p和'.'三种字符组成。'r'代表小红的棋子，'p'代表小紫的棋子，'.'代表未落子。
     * 保证'x'和'p'的数量之差的统对值不超过1。
     * <p>
     * 输出描述：
     * 如果小红获胜，则输出"kou"
     * 如果小紫获胜，则输出"yukari"
     * 如果暂时无人获胜，则输出"to be continued"
     * 示例1：
     * 输入:
     * 4 5
     * rpprr
     * prrpp
     * p.r..
     * p..r.
     * 输出:
     * kou
     * 说明：
     * 小红连成了一个对角线方向的四连珠。
     * 作者：Manchester
     * 链接：https://leetcode-cn.com/circle/discuss/9vSmWU/
     * 来源：力扣（LeetCode）
     * 著作权归作者所有。商业转载请联系作者获得授权，非商业转载请注明出处。
     */

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        int m = scanner.nextInt();
        char[][] chars = new char[n][m];

        for (int i = 0; i < n; i++) {
            chars[i] = scanner.next().toCharArray();
        }
        for (int i = 0; i < n; i++) {
            for (int j = 0; j < m; j++) {
                if (chars[i][j] == '.')
                    continue;
                boolean ok = check(chars, i, j);
                if (ok) {
                    if (chars[i][j] == 'r')
                        System.out.println("kou");
                    else
                        System.out.println("yukari");
                    return;
                }
            }
        }
        System.out.println("to be continued");
    }

    private static boolean check(char[][] chars, int i, int j) {
        //向右扫
        char ch = chars[i][j];
        int k = 1;
        int m = chars[0].length;
        for (; k < 4 && j + k < m; k++) {
            if (chars[i][j + k] != ch) {
                break;
            }
        }
        if (k == 4) {
            return true;
        }
        //下
        k = 1;
        int n = chars.length;
        for (; k < 4 && i + k < n; k++) {
            if (chars[i + k][j] != ch) {
                break;
            }
        }
        if (k == 4) {
            return true;
        }

        //斜
        k = 1;
        for (; k < 4 && i + k < n && j + k < m; k++) {
            if (chars[i + k][j + k] != ch) {
                break;
            }
        }
        return k == 4;
    }
}
